<?php
// +----------------------------------------------------------------------
// | 海豚PHP框架 [ DolphinPHP ]
// +----------------------------------------------------------------------
// | 版权所有 2016~2017 河源市卓锐科技有限公司 [ http://www.zrthink.com ]
// +----------------------------------------------------------------------
// | 官方网站: http://dolphinphp.com
// +----------------------------------------------------------------------
// | 开源协议 ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------

// 为方便系统核心升级，二次开发中需要用到的公共函数请写在这个文件，不要去修改common.php文件

function mDataToArr($obj){
    $newData = [];
    foreach ($obj as $k=> $item){
        $newData[$k] = $item->toArray();
    }
    return $newData;
}

// 模型查出的数据转成数组
function mDataToArray($obj){
    return json_decode(json_encode($obj), true);
}

function categoryTree($list){
    $newList = [];
    foreach ($list as $k => $item){
        if($item['parent_id'] == 0){
            array_push($newList, $item);
            foreach ($list as $item2){
                if($item['id'] == $item2['parent_id']){
                    $item2['name'] = '&nbsp;&nbsp;--'.$item2['name'];
                    array_push($newList, $item2);
                }
            }
        }
    }
    return $newList;
}

/**
 * 下单生成单号
 * @return string
 */
function makeOrderSn(){
    return  date('YmdHis') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
}

/**
 * @param $errno -401需登录 400错误
 * @param string $msg
 * @param array $data
 * @return \think\response\Json
 */
function _json($errno, $msg='', $data=[]){
    return json(['errno' => $errno, 'msg' => $msg, 'data' => $data]);
}

function getImagePath($it, $key){
    if(!isset($it[$key])){
        $arr = $it;
        foreach ($arr as $k => $item){
            $img_id_arr = explode(',',$item[$key]);
            $img_arr = [];
            foreach ($img_id_arr as $item2){
                $img_arr[] = HOST_NAME.get_file_path($item2);
            }
            $arr[$k][$key] = $img_arr;
        }
        return $arr;
    }else{
        $newItem = $it;
        $img_id_arr = explode(',', $it[$key]);
        $img_arr = [];
        foreach ($img_id_arr as $item){
            $img_arr[] = HOST_NAME.get_file_path($item);
        }
        $newItem[$key] = $img_arr;
        return $newItem;
    }

}

/**
 * 多个数组的笛卡尔积
 *
 * @param unknown_type $data
 */
function combineDika() {
    $data = func_get_args();
    $data = current($data);
    $cnt = count($data);
    $result = array();
    $arr1 = array_shift($data);
    foreach($arr1 as $key=>$item)
    {
        $result[] = array($item);
    }

    foreach($data as $key=>$item)
    {
        $result = combineArray($result,$item);
    }
    return $result;
}


/**
 * 两个数组的笛卡尔积
 * @param unknown_type $arr1
 * @param unknown_type $arr2
 */
function combineArray($arr1,$arr2) {
    $result = array();
    foreach ($arr1 as $item1)
    {
        foreach ($arr2 as $item2)
        {
            $temp = $item1;
            $temp[] = $item2;
            $result[] = $temp;
        }
    }
    return $result;
}